An empirical study of software reuse by experts in object-oriented design
نویسندگان
چکیده
This paper presents an empirical study of the software reuse activity by expert designers in the context of object-oriented design. Our study focuses on the three following aspects of reuse : (1) the interaction between some design processes, e.g. constructing a problem representation, searching for and evaluating solutions, and reuse processes, i.e. retrieving and using previous solutions, (2) the mental processes involved in reuse, e.g. example-based retrieval or bottom-up versus top-down expanding of the solution, and (3) the mental representations constructed throughout the reuse activity, e.g. dynamic versus static representations. Some implications of these results for the specification of software reuse support environments are discussed. 1 FRAMEWORK AND GOALS Software Reuse is currently one of the most active and creative research areas in Computer Science. This is mainly because software quality and productivity are assumed to be greatly increased by maximising the (re)use of (part of) prior design products instead of repeatedly designing from scratch (Krueger, 1989). Currently, the predicted level of reuse has not yet been reached, due to technical, organisational and ergonomic factors (Tracz,1987). This paper presents an empirical study1 of the software reuse activity. The originality of this study is twofold. First, it is one of the few experimental investigations into the software reuse activity by expert designers. Second, it examines reuse in the context of object-oriented programming which is assumed by its advocates to facilitate reuse. Few studies (Détienne, 1991; Lange & Moher, 1989) have analysed reuse in that context. 1 This research is partially sponsored by the European Esprit III SCALE 6334 project (System Composition and Large Grain Component Reuse Support) Our study focuses on the three following aspects of reuse : the interaction between design and reuse processes, the mental processes involved in reuse, and the mental representations constructed throughout the reuse activity. First, we analyse how some design processes, e.g. constructing a problem representation, searching for and evaluating the solution(s), and reuse processes, i.e. retrieving and using previous solution(s), may interact. For example, recalling solutions may lead to a revision of the currently-developed solution and retrieving a past solution may produce the addition of constraints to the representation of the current design problem. Second, we analyse some of the mental processes involved in the reuse activity. We investigate the retrieval processes involved in reuse. One issue is whether retrieval may be based on contextual and episodic cues, as shown in studies on the elicitation of category members (Walker & Kintsch, 1985) , or on abstract features, mainly used by the software community as a basis for information retrieval. We INTERACT'95, Lillehammer Norway, June 27-29 1995 2 also investigate the direction of the solution expansion on which the reuse activity is based, i.e. bottom-up versus top-down. Third, we are interested in the characteristics of the mental representations constructed during reuse. Psychological studies (Adelson & Soloway, 1988) pointed out that experts involved in non-routine design often simulated their more or less complete solution. The distinction is made between “dynamic” mental representations, i.e. involving simulating and enacting of a mental model, and “static” mental representations, i.e. involving static statements such as states and properties. We assume that designers may favour one such representation rather than another depending on the task involved (i.e. reuse versus design).
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملElements of Reuse and Regression Testing of Object - OrientedSoftwareLee
The focus of this study is on the constructs of inheritance, polymorphism, parametrized types and object composition as elements of reuse in object-oriented software design. There are a number of objectives of this study: 1) Determine the eeects of these elements of reuse on the cost of object-oriented software development and maintenance. This will require extraction of empirical information f...
متن کاملAvailability evaluation of Software architecture of object oriented Style using coloured Petri nets
Software architecture is one of the most fundamental products in the process of software development in the areas of behavioral or non- behavioral features like availability or transformability change. There are different ways to evaluate software architecture one of which is the creation of application model. An executable model of software architecture is an official description of architectu...
متن کاملDesign-for-Testability for Object-Oriented Software
There are many reasons why object-oriented (OO) design and development has become the norm for software creation. Two primary reasons are the positive impacts that abstraction/inheritance and information hiding have on the development process. There is little debate that data abstraction coupled with inheritance provides a powerful software design mechanism. Likewise, hiding data and internal o...
متن کاملOn Attributes of Objects in Object-Oriented Software Analysis
One of the modern paradigms to develop a system is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles. There is a sequence of activities to develop an analysis model. In the first step, we work in developing an initial use case model. Then in the second step, they identify a number of concepts and build a glossary of partic...
متن کامل